模仿QQ宠物(nopet v1.0源代码) VB版 - 枕善居VB.NET源码博客枕善居VB.NET源码博客 
首先我为人人,其次人人为我!
  首页
  乱侃
  公告
  VB源码
  .NET源码
  工具
  贴图
  原创
  论坛
  留言
  归档
欢迎光临:
　　
　　非常感谢您光临枕善居。本站是一个免费的基于VB，VB.NET源代码交流的平台，为大家提供优质的专业的源代码，如果您有需要，本站可以帮助在业余时间里给您寻找代码。当然，如果您有好的代码也可以在本站发布，共享给大家。
专业VB和.NET源代码DVD光盘、开发编程Icon,PNG、USB电脑遥控器，点击进入--->
 M2009 USB电脑遥控器 标准微软RC6格式 MCE格式设计 无线鼠标功能!            
VB及.NET源码文档+解决方案+数据字典DVD(控件升级DVD) 


      输入您的搜索字词  提交搜索表单         
 订阅 |  上一篇 |  下一篇  VB源码 模仿QQ宠物(nopet v1.0源代码) VB版作者:Mndsoft 日期:2007-02-09字体大小: 小 
中 大  
    
QQ宠物是以flash作为素材的,在其QQPet目录下面的Common目录里即是QQ宠物展示的各种表情和动作.我们要实现的就是在桌面的一个窗体显示flash文件,并根据不同的窗体状态和其他消息响应来显示相应的flash文件.
    
1.透明窗体.建立一个工程,新建一个无标题栏的窗体.在窗体上添加一个flash控件.因为宠物运行时是以桌面为背景,所以我们需要将flash控件的WMode设为透明,并将窗体设置为透明的.
    源码为:
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" 
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" 
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal 
hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As 
Long) As Long
Private Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_ALPHA = &H2
Private Const LWA_COLORKEY = &H1
Private Const HTCAPTION = 2
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const COLDNEY_COLOR = &H999999
Private Sub frmSetTransparence(frm As Form)
    Dim WindowExs As Long, Color As Long
    WindowExs = GetWindowLong(frm.hwnd, GWL_EXSTYLE)
    WindowExs = WindowExs or WS_EX_LAYERED
    SetWindowLong frm.hwnd, GWL_EXSTYLE, WindowExs
    SetLayeredWindowAttributes frm.hwnd, COLDNEY_COLOR, 0, LWA_COLORKEY
End Sub
     
2.装载宠物flash素材.首先要取得flash模型所在的路径,然后存储在一个文件列表框里(当然也可以放在其它地方).通过读取列表框里的文件就以动态显示flash文件.

     源码(简单循环播放)为:
Dim PlayFileNum As Integer
Dim TotalFile As Integer
Dim FilePath As String
FilePath = File1.Path
If Right(FilePath, 1) <> "\" Then
     FilePath = FilePath & "\"
End If
TotalFile = File1.ListCount
File1.ListIndex = 0  'int(rnd()*(file1.listcount-1))
PlayFileNum = File1.ListIndex
Private Sub NextFlashFilePlay()
    PlayFileNum = PlayFileNum + 1
    Form1.Flash1.Movie = ""
    Form1.Flash1.Movie = FilePath + File1.List(PlayFileNum)
    Form1.Flash1.Play
    Flash1.Loop = False
End Sub
Private Sub Timer_Timer()
If (PlayFileNum = TotalFile - 1) Then PlayFileNum = 0
    If Form1.Flash1.CurrentFrame >= Form1.Flash1.TotalFrames - 4 Then
    Call NextFilePlay
End If
End Sub
      
3.窗体的拖动及移动.因为flash控件没有鼠标事件支持,最简单的方法可以采用在flash控件上放一个透明的Lable,当然你也可以用子类化处理和局部hook右键.窗体自移动可以添加在鼠标事件中.拖动窗体采用计算鼠标移动量来移动窗体位置可以防止虚线框.

源码为:
Dim MoveScreen As Boolean
Dim MousX As Integer
Dim MousY As Integer
Dim CurrX As Integer
Dim CurrY As Integer
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, x As 
Single, Y As Single)
If Button = 1 Then
    MoveScreen = True
    MousX = x
    MousY = Y
ElseIf Button = 2 Then
    'other event
End If
End Sub
Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, x As 
Single, Y As Single)
If MoveScreen Then
    CurrX = Form1.Left - MousX + x
    CurrY = Form1.Top - MousY + Y
    Form1.Move CurrX, CurrY
End If
End Sub
Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, x As 
Single, Y As Single)
    MoveScreen = False
End Sub
  
4.到此,你就可以看到一个最简单的宠物模型.其它功能比如,变大小可以改变窗体大小,然后让控件跟着自适应就可以了.也可以在窗体的移动状态下显示不同的flash文件.也可以用timer控制显示flash文件.完整源代码稍后提供(没空间).

号外:nopet v2.0 demo版(没服务器)即将(何年何月)发布,呵呵,不再模仿QQ,基于C/S模
式.
                                          NOP-STUDIO
                                          2007.01.29

   站外 本站        
文章来自: 本站原创
引用通告地址: 查看引用地址
Tags: QQQQ 
相关日志:

仿QQ音乐播放器文件List控件[4237]
QQ桌面宠物VB版源码[6677]
一组关于QQ的编程源代码[11062]
腾讯QQ自动登录器 Ver1.0[9876]
QQ防盗登录器美化完善版[6083]
兔子QQ防盗登录器美化版[6928]
IceQQ 挂机服务器[4883]
用富文本框制作的QQ表情和超链接演示[6759]
分页: [1]
  其他日志热门日志 相关日志 最新日志 随机日志 人气日志 电脑新奇特 源码商店 
抛弃微软附带控件，打造个性控件，全部源码！[29052]
串口通信编程大全[23833]
精简版的MSDN　for VB6.0[23623]
豪华的界面控件---NiceFormControl[30068]
网友下载须知(2006-06-26)！！！！！！！！！[13591]
300多个 Vista 使用的 Ico图标[19516]
企业人事管理系统完美版[20636]
请购买本站物品的网友提供您的论坛ID,免费进入破解补丁版块[9780]
给鼠标添件防寒外套,买暖手鼠标垫送源码光盘![10309]
三千多个精美OFFICE2007图标(16x16)[22991]
超薄 免驱动 USB电脑遥控器 完美支持Windows Vista 
http://auction1.taobao.com/auction/item_detail-0db1-d33a3125adc7a851f7b8cbe75647e346.jhtml
枕善居精品源码网站：http://shop34161785.taobao.com/ 支持支付宝在线支付
评论: 2 | 引用: 0 | 查看次数: 5643 1jare_mndsoft [2008-12-22 01:47 
PM][smile]本人对FLASH与VB结合开发很感兴趣的,以的在你这就找这类文章,VB我是没学过的,就是找些人家实现了的功能代码看,可惜啦,没源码.先自己做做看.呵呵mhzq 
[2007-02-13 01:49 PM] 1发表评论昵　称:
      内　容:








      选　项:禁止表情转换 禁止自动转换链接 禁止自动转换关键字 
         
      字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭 





控制面板yxxxxxxx，欢迎您!
您的权限: 普通会员


修改资料退出系統相关日志-加强版
最新日志Visual Studio 2..电信大客户查询系统 Ver 
1..媲美微软画图的画图源代码彩色图形复选框(CheckBo..1600多个精美编程开发用PN..JCButton按钮控件(完美..多文档选项卡控件示例(jcMD..笔记本电池监控器 
Ver 1...双曲线绘图控件源代码堆栈计算器最新评论[smile]这个控件好用谢谢 ！这个控件是免费的吗？没啥使用限制吧？nice flowersthanks 
a loat非常感谢，我一直想找这方面的源码。谢谢了我怎么才发现这个空间呢？  真是一大损失我看还是兼容性的问题。 
VISTA是个失败的操作...太喜欢了。。哈哈你好楼主。    编译错误  请楼主改一下 
最新留言最近实在太忙了，小站都好久没有更新。这两天把PJ升...我想实现这样的结果：当你对着麦克风说话时，能实时的...居士: 
有没有一个日期&#43;时间,好...居士，麻烦您帮我找一些关于VB&#43;A...今天在淘宝上订购了一套光盘,订购名为俞红斌,请将我...我想用vb做一个能自行设置字段的打印，现在我能做的...你好!你能不能制作一个像TVKOO的播放器.下载到...来看你拉，上茶 
多坐一会 哈哈 你网站人气也不错呀...强烈要求搞个QQ群，实现在线交流啊  我想请问教一个问题... 
  在VB里面,怎么编写...日志归档枕善居VB源码博客2009年五月 [1]2009年四月 [9]2009年三月 [3]2009年二月 [3]2009年一月 
  [2]2008年十二月 [7]2008年十一月 [3]2008年十月 [2]2008年八月 [3]2008年七月 [12]2008年六月 
  [4]2008年五月 [11]2008年四月 [7]2008年三月 [9]2008年二月 [4]2008年一月 [15]2007年十二月 
  [12]2007年十一月 [16]2007年十月 [12]2007年九月 [22]2007年八月 [22]2007年七月 [18]2007年六月 
  [18]2007年五月 [41]2007年四月 [28]2007年二月 [12]2007年一月 [17]2006年十二月 [31]2006年十一月 
  [23]2006年十月 [23]2006年九月 [17]2006年八月 [8]2006年七月 [20]2006年六月 [28]2006年五月 
  [29]2006年四月 [46]2006年三月 [20]2006年二月 [31]2006年一月 [20]2005年十二月 [19]2005年九月 
  [9]2005年八月 [34]2005年七月 [42]2005年六月 [67]2005年五月 [106]2005年四月 [92]2005年三月 
  [96]2005年二月 [25]2005年一月 [25]
技术支持      
本站Logo本站中文名称:
枕善居VB源码博客
链接地址:
http://www.mndsoft.com
描述:枕善居一个专业发布VB源代码的博客,有问必答，帮助大伙学习的站点。尤其是初学者要去的地方，当然，老鸟也能从那里挖到宝藏:) 
LOGO:
 
Powered By PJBlog2 v2.6 build 03 CopyRight 2005, 枕善居VB.NET源码博客 xhtml | css
Processed in 0.296875 second(s) , 5 queries , Ilive Design By waeko 
浙ICP备05018754号 
站长统计 | 今日IP[225] | 今日PV[3421] | 昨日IP[811] | 昨日PV[24770] | 当前在线[13]  